============================================================================================================================
Modification Title: Custom Field: First Name

Version: 1.1

Author: John Briggs

Description:
This modification will provide an additonal field.
The additional field can be entered on your member registration form.
The additonal field is editable in your member control panel and admin edit profile tool.
The additonal field is displayed in your member profile and threads.

Compatability: XMB 1.9.5 SP1

Install Note: Before adding this modification to your forum, you should back up all files related to this modification.

License Note: This modification is released under the GPL License v3. A copy is provided with this software package.

Note: Backup all affected files, templates and database.

Affected Files (5): editprofile.php, member.php, memcp.php, viewthread.php, lang/English.lang.php

Affected Templates (5): admintool_editprofile, member_profile, member_reg, memcp_profile, viewthread_post

Author Note:
You downloaded this hack from XMB Garage.
Please visit http://www.xmbgarage.com/ for support.

Copyright:  2010 John Briggs. All Rights Reserved.
============================================================================================================================
=======
Step 1:
=======
====================================
Go To Administration Panel --> Insert Raw SQL
====================================
==============================
Paste Code Below and Submit Changes:
==============================

ALTER TABLE `$table_members` ADD `firstname` varchar(100) NOT NULL default '';

============================================================================================================================
=======
Step 2:
=======
=================
Edit File: member.php
=================
==========
Find Code:
==========

loadtemplates(

================
Replace Code With:
================

loadtemplates(
'member_profile_firstname',

==========
Find Code:
==========

        $sig           = isset($sig) ? checkInput($sig, '', $SETTINGS['sightml'], '', false) : '';

===============
Add Code Below:
===============

        // Custom Field: First Name Mod Begin
        $firstname = isset($firstname) ? checkInput($firstname, '', '', 'javascript', false) : '';
        // Custom Field: First Name Mod End

==========
Find Code:
==========

        $sig           = addslashes($sig);

===============
Add Code Below:
===============

        // Custom Field: First Name Mod Begin
        $firstname = addslashes($firstname);
        // Custom Field: First Name Mod End

==========
Find Code:
==========

        $db->query("INSERT INTO $table_members (uid,

=============================
Find Code In-Line In Above Statement:
=============================

) VALUES ('', '$username',

================
Replace Code With:
================

, firstname) VALUES ('', '$username',

==================================
Find Code At End Of Above Query Statement:
==================================

)");

================
Replace Code With:
================

, '$firstname')");

==========
Find Code:
==========

            if (X_MEMBER && $memberinfo['email'] != '' && $memberinfo['showemail'] == 'yes') {
                $email = $memberinfo['email'];
            } else {
                $email = '';
            }

===============
Add Code Below:
===============

            // Custom Field: First Name Mod Begin
            // create firstname block
            $firstnameblock = '';
            if ($memberinfo['firstname'] != '') {
                $memberinfo['firstname'] = censor($memberinfo['firstname']);
                eval('$firstnameblock = "'.template('member_profile_firstname').'";');
            }
            // Custom Field: First Name Mod End

============================================================================================================================
=======
Step 3:
=======
=================
Edit File: memcp.php
=================
==========
Find Code:
==========

        $sig            = isset($newsig) ? checkInput($newsig, '', $SETTINGS['sightml'], '', false) : '';

===============
Add Code Below:
===============

        // Custom Field: First Name Mod Begin
        $firstname = isset($firstname) ? checkInput($firstname, '', '', 'javascript', false) : '';
        // Custom Field: First Name Mod End

==========
Find Code:
==========

        $sig            = addslashes($sig);

===============
Add Code Below:
===============

	    // Custom Field: First Name Mod Begin
        $firstname = addslashes($firstname);
        // Custom Field: First Name Mod End

==========
Find Code:
==========

$db->query("UPDATE $table_members SET $pwtxt email='$email',

========================================
Find Code In-Line At End Of Above Query Statement:
========================================

 WHERE username='$xmbuser'");

================
Replace Code With:
================

, firstname='$firstname' WHERE username='$xmbuser'");

============================================================================================================================
=======
Step 4:
=======
===================
Edit File: editprofile.php
===================
==========
Find Code:
==========

    $sig            = isset($newsig) ? checkInput($newsig, '', $SETTINGS['sightml'], '', false) : '';

===============
Add Code Below:
===============

    // Custom Field: First Name Mod Begin
    $firstname = isset($firstname) ? checkInput($firstname, '', '', 'javascript', false) : '';
    // Custom Field: First Name Mod End

==========
Find Code:
==========

    $sig            = addslashes($sig);

===============
Add Code Below:
===============

    // Custom Field: First Name Mod Begin
    $firstname = addslashes($firstname);
    // Custom Field: First Name Mod End

==========
Find Code:
==========

$db->query("UPDATE $table_members SET email='$email',

========================================
Find Code In-Line At End Of Above Query Statement:
========================================

 WHERE username='$user'");

================
Replace Code With:
================

, firstname='$firstname' WHERE username='$user'");

============================================================================================================================
=======
Step 5:
=======
===================
Edit File: viewthread.php
===================
==========
Find Code:
==========

            if ($post['location'] != '') {
                $post['location'] = censor($post['location']);
                $location = '<br /><b>'.$lang['textlocation'].'</b> '.$post['location'];
            } else {
                $location = '';
            }

===============
Add Code Below:
===============

            // Custom Field: First Name Mod Begin
            $firstname = '';
            if ($post['firstname'] != '') {
                $post['firstname'] = censor($post['firstname']);
                $firstname = '<br /><strong>'.$lang['firstname'].'</strong> '.$post['firstname'];
            }
            // Custom Field: First Name Mod End

==========
Find Code:
==========

            $location = '';
            $mood = '';

===============
Add Code Below:
===============

            // Custom Field: First Name Mod Begin
            $firstname = '';
            // Custom Field: First Name Mod End

============================================================================================================================
=======
Step 6:
=======
=======================
Edit File: lang/English.lang.php
=======================
============================
Add Code To End Of File Above  ?>
============================

// Custom Field: First Name Mod Begin
$lang['firstname'] = "First Name:";
// Custom Field: First Name Mod End

============================================================================================================================
=======
Step 7:
=======
===============================
Go To Administration Panel --> Templates
===============================
===========================
Edit Template: admintool_editprofile
===========================
==========
Find Code:
==========

<tr>
<td bgcolor="$altbg1" width="22%" class="tablerow">$lang[textlocation]</td>
<td bgcolor="$altbg2" class="tablerow"><input type="text" name="newmemlocation" size="25" value="$member[location]" /></td>
</tr>

===============
Add Code Below:
===============

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[firstname]</td>
<td bgcolor="$altbg2"><input type="text" name="firstname" size="25" value="$member[firstname]" /></td>
</tr>

============================================================================================================================
=======
Step 8:
=======
===============================
Go To Administration Panel --> Templates
===============================
=====================
Edit Template: member_reg
=====================
==========
Find Code:
==========

<tr>
<td bgcolor="$altbg1" class="tablerow" width="22%">$lang[textlocation]</td>
<td bgcolor="$altbg2" class="tablerow"><input type="text" name="locationnew" size="25" /></td>
</tr>

===============
Add Code Below:
===============

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[firstname]</td>
<td bgcolor="$altbg2"><input type="text" name="firstname" size="25" value="" /></td>
</tr>

============================================================================================================================
=======
Step 9:
=======
===============================
Go To Administration Panel --> Templates
===============================
======================
Edit Template: memcp_profile
======================
==========
Find Code:
==========

<tr>
<td bgcolor="$altbg1" width="22%" class="tablerow">$lang[textlocation]</td>
<td bgcolor="$altbg2" class="tablerow"><input type="text" name="newmemlocation" size="25" value="$member[location]" /></td>
</tr>

===============
Add Code Below:
===============

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[firstname]</td>
<td bgcolor="$altbg2"><input type="text" name="firstname" size="25" value="$member[firstname]" /></td>
</tr>

============================================================================================================================
========
Step 10:
========
===============================
Go To Administration Panel --> Templates
===============================
========================
Edit Template: viewthread_post
========================
==========
Find Code:
==========

$location

===============
Add Code Below:
===============

$firstname

============================================================================================================================
========
Step 11:
========
===============================
Go To Administration Panel --> Templates
===============================
=======================
Edit Template: member_profile
=======================
==========
Find Code:
==========

<tr>
<td bgcolor="$altbg1" class="tablerow">$lang[textlocation]</td>
<td bgcolor="$altbg2" class="tablerow">$memberinfo[location]</td>
</tr>

===============
Add Code Below:
===============

$firstnameblock

============================================================================================================================
========
Step 12:
========
===============================
Go To Administration Panel --> Templates
===============================
====================================
Create New Template: member_profile_firstname
====================================
========================
Add Code and Submit Changes:
========================

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[firstname]</td>
<td bgcolor="$altbg2">$memberinfo[firstname]</td>
</tr>

============================================================================================================================
Enjoy!